/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2007，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	ISysclockMgr.java
 * 模块说明：	
 * 修改历史：
 * Nov 10, 2007 - lxm - 创建。
 */
package com.hd123.rumba.sysclock;

import java.util.Date;

import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.runtime.biz.IBManager;

/**
 * 系统时钟 | 管理员 | 接口类
 * 
 * @author lxm
 * 
 */
public interface ISysclockMgr extends IBManager {

  /**
   * 当系统启动的时候被调用。
   * <p>
   * 
   * 判断并启动后台任务{@link SysclockTaskProcess}。
   * 
   * @throws BusinessException
   */
  public void onBoot() throws BusinessException;

  /**
   * 根据指定的触发时间，修改缓冲数据，并取消过期的消息订阅单。
   * <p>
   * 
   * 详细说，就是检查缓冲中的所有消息订阅单，基于参数指定的触发时间，取得下次触发时间。
   * 
   * @param notifyTime
   *          指定的触发时间。
   * @throws BusinessException
   */
  public void updateBufferByNotifyTimeT(Date notifyTime) throws BusinessException;

  /**
   * 根据buffer中的数据，安排系统时钟后台任务。
   * 
   * @throws BusinessException
   */
  public void arrangeTask() throws BusinessException;
}
